
--[[
描述 ： 新闻展示页 类似网易新闻客户端效果 文件
作者 ： Joshua
时间 ： 14/07/10
]]
UINewsShowView =  Class(MLView,'UINewsShowView')
UINewsShowView.barBgImg 			= nil;			--  tabBar背景图片
UINewsShowView.barBgColor 			= nil;			--  tabBar背景颜色， 图片优先，默认红色
UINewsShowView.barfontHeight 		= nil;			-- 字体高度
UINewsShowView.barfontColor 		= nil;			-- 字体背景颜色
UINewsShowView.barfontFocusColor 	= nil;			-- 字体聚集颜色
UINewsShowView.cursorLineHeight 	= nil;			-- 游标线高
UINewsShowView.cursorColor 			= nil;			-- 游标线颜色

UINewsShowView.pageViews 			= nil;			--页面表
UINewsShowView.tabViews				= nil;			--tab表
UINewsShowView.curIndex 			= nil; 			--当前选中索引
--[[
功能：	初始化 UINewsShowView
参数：	width	宽度
		height  高度
		viewCtrl 所在ctrl
		id 		空间id
返回：	UITabBarView视图类实例 
注： 	控件在onCreate面操作不需要手动调用控件刷新接口
		添加id，系统帮助缓存控件数据，保证viewctrl恢复时，控件数据还在。
]]
function UINewsShowView:init( width,height, tabHeight,viewCtrl,id )
  local deviceW, deviceH = viewCtrl.rootView:getWH();
	--local deviceW, deviceH = MLNative.getScreen():getWH();
	self.width = width or deviceW;
	self.height = height or deviceH;

	self.viewCtrl = viewCtrl;
	self:initView(width, height, viewCtrl, id);
	self.tabHeight = tabHeight or UITheme.NEWSSHOWVIEW_TAB_HEIGHT;
	self.tabWidth = width or deviceW;

	self.tabViews = UINewsShowTabsView.new():init( self.tabWidth, self.tabHeight, self, viewCtrl,id );
	--self.tabViews:show();
	self:add(self.tabViews,0,0);
	
	self.viewPager = MLViewPager.new():initViewPager(width,height - self.tabHeight,viewCtrl);
	self.viewPager.onPageChange = function ( index )
		self:onPageChange(index);
	end
	self.viewPager.onPageScroll = function (page,offset)
		self:onPageScroll( page, offset );
	end
	self:add(self.viewPager,0, tabHeight);


	return self;
end
--[[
功能：	viewPager页面切换响应函数，当页面切换完成时，设置tabs的索引及视图为当前索引的。。。
参数：	index int:切换到的页面索引
返回：	无
]]
function UINewsShowView:onPageChange( index )
	if self.tabViews then
		self.tabViews:setCurTab( index )
	end
end
--[[
功能：	viewPager滚动响应函数，让tabs跟随滚动
参数：	page int：		索引
		offset int： 	偏移量
		第page个页面的左边线 距离屏幕左边 的距离为 offset
返回：	无
]]
function UINewsShowView:onPageScroll( page, offset )
	if self.tabViews then
		self.tabViews:scrollTabs( page, offset/self.width )
	end
end
--[[
功能：	设置views
参数： 	动态 view
返回： 	无
注：	使用 setViews(view1, view2,....)    
]]
function UINewsShowView:setViews( ... )
	
	if self.pageViews and #self.pageViews ~= 0 then
		self.pageViews = {};
		self.viewPager:delAllPage();
	end

	self.pageViews = arg;
	for i,v in ipairs(self.pageViews) do
       self.viewPager:addPage(v);
    end
end
--[[
功能：	设置TabBar 文字
参数： 	动态 字符串
返回： 	无
]]
function UINewsShowView:setTabBarText( ... )
	if self.tabViews then
		self.tabViews:setItemTexts( arg );
	end
end
--[[
功能：	设置 选中索引
参数： 	index  索引
返回： 	无
]]
function UINewsShowView:setSelItem( index )
	self.viewPager:setCurPage( index );
	self.tabViews:setCurTab( index );
end
--[[
功能：	得到 选中索引
参数： 	无
返回： 	索引
]]
function UINewsShowView:getSelItem( )

	return self.viewPager:getCurPage();
end
--[[
功能：	更新控件
参数： 	无
返回： 	无
注：	在以下任一情况下：
			1、本视图实例的viewCtrl为nil的时候；
			2、本视图实例的viewCtrl不为nil，但不是在viewCtrl:onCreate(...)函数中；
		通过'.'访问、更改本视图类的属性后，需调用此函数才能正常显示。
]]
function UINewsShowView:update( )

	self.tabViews:show();
end
